package prober_point

// ProbeHeader 数据收集的 数据头
type ProbeHeader struct {
	TraceID  string //事务ID 随机(全链路ID)
	Title    string //名称
	Trans    string //事务  (列 : 整个视频的调用流程)
	Action   string //操作  (列 : 具体的功能)
	Method   string //方法  (列 : 具体的方法)
	DataTime string //时间 yyyy-MM-dd-HH-mm-ss
}

// ProbeLocation 探测点位置信息
type ProbeLocation struct {
	//AppID          string
	ServiceID      string //服务ID
	ClientIP       string //服务IP
	ServiceName    string //服务名称
	ServiceCluster string //集群ID
}

// ProbeStatusResult 数据异常 , 判断 数据 收集 是否成功
type ProbeStatusResult struct {
	Level      string
	Status     string //状态描述
	StatusCode int    //状态值
	//Result     string //结果
}

// ProbeData 测量维度和收集的数据
type ProbeData struct {
	Measurement string
	Fields      []Field
}

type Field struct {
	Key   string
	Value any
}

type ProbeBody struct {
	ProbeHeader
	ProbeLocation
	ProbeStatusResult
	ProbeData
}

// RocketCfg RocketMQ 配置
type RocketCfg struct {
	Topic   string
	Group   string
	Address []string
	Key     string
	Tag     string
}

// ProbeDataStats 探测点数据统计
type ProbeDataStats struct {
	ProbeHeader
	ProbeLocation
	ProbeStatusResult
}

// metrics 度量指标
type metrics struct {
	Name string
	Val  string
}
